#include "stdlib.h"
#include "err.h"
#include "assert.h"
#include "arista.h"

/* Estructura del TAD */
struct sarista{
	node nodo1;
	node nodo2;
	int peso;
};

/* Constructor del TAD */
tarista arista_create(node v1, node v2, int p){
	tarista arista;
	arista = (tarista)calloc(1,sizeof(struct sarista));
	if (arista != NULL){
		arista->nodo1 = v1;
		arista->nodo2 = v2;
		arista->peso = p;
	}
	else errx(EXIT_FAILURE,"No hay memoria disponible");
	return arista;
}

/* Retorna el primer vértice de la arista */
node vertice1(const tarista a){
	assert(a != NULL);
	return a->nodo1;	
}

/* Retorna el segundo vértice de la arista */
node vertice2(const tarista a){
	assert(a != NULL);
	return a->nodo2;
}

/* Retorna el peso de la arista */
int peso(const tarista a){
	assert(a != NULL);
	return a->peso;
}

/* Destructor del TAD */
tarista arista_destroy(tarista a){
	assert(a != NULL);
	free(a);
        a = NULL;
	return a;	
}

